home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / imake / sunLib.rules < prev    next >
Encoding:
Text File  |  1992-08-20  |  2.8 KB  |  112 lines

  1. XCOMM $XConsortium: sunLib.rules,v 1.6 91/03/24 17:55:58 rws Exp $
  2.  
  3. /*
  4.  * SunOS shared library rules
  5.  */
  6.  
  7. #ifndef HasSharedLibraries
  8.   #ifdef sprite
  9.     #define HasSharedLibraries NO
  10.   #else
  11.     #define HasSharedLibraries YES
  12.   #endif
  13. #endif
  14. #ifndef SharedDataSeparation
  15.   #ifdef sprite
  16.     #define SharedDataSeparation NO
  17.   #else
  18.     #define SharedDataSeparation YES
  19.   #endif
  20. #endif
  21. #ifndef SharedCodeDef
  22.   #ifdef sprite
  23.     #define SharedCodeDef
  24.   #else
  25.     #define SharedCodeDef -DSHAREDCODE
  26.   #endif
  27. #endif
  28. #ifndef SharedLibraryDef
  29.   #ifdef sprite
  30.     #define SharedLibraryDef
  31.   #else
  32.     #define SharedLibraryDef -DSUNSHLIB
  33.   #endif
  34. #endif
  35. #ifndef ShLibIncludeFile
  36. #define ShLibIncludeFile <sunLib.tmpl>
  37. #endif
  38. #ifndef SharedLibraryLoadFlags
  39.   #ifdef sprite  
  40.     #define SharedLibraryLoadFlags
  41.   #else
  42.     #define SharedLibraryLoadFlags -assert pure-text
  43.   #endif
  44. #endif
  45. #ifndef PositionIndependentCFlags
  46.   #ifdef sprite
  47.     #define PositionIndependentCFlags
  48.   #else
  49.     #define PositionIndependentCFlags -pic
  50.   #endif
  51. #endif
  52.  
  53. /*
  54.  * InstallSharedLibrary - generate rules to install the shared library.
  55.  */
  56. #ifndef InstallSharedLibrary
  57. #define    InstallSharedLibrary(libname,rev,dest)                @@\
  58. install:: Concat(lib,libname.so.rev)                     @@\
  59.     MakeDir($(DESTDIR)dest)                        @@\
  60.     $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
  61.  
  62. #endif /* InstallSharedLibrary */
  63.  
  64. /*
  65.  * InstallSharedLibraryData - generate rules to install the shared library data
  66.  */
  67. #ifndef InstallSharedLibraryData
  68. #define    InstallSharedLibraryData(libname,rev,dest)            @@\
  69. install:: Concat(lib,libname.sa.rev)                    @@\
  70.     MakeDir($(DESTDIR)dest)                        @@\
  71.     $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
  72.     RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
  73.  
  74. #endif /* InstallSharedLibraryData */
  75.  
  76. /*
  77.  * NormalSharedLibraryTarget - generate rules to create a shared library;
  78.  * build it into a different name so that the we do not hose people by having
  79.  * the library gone for long periods.
  80.  */
  81. #ifndef SharedLibraryTarget
  82. #define SharedLibraryTarget(libname,rev,solist,down,up)            @@\
  83. AllTarget(Concat(lib,libname.so.rev))                    @@\
  84.                                     @@\
  85. Concat(lib,libname.so.rev):  solist                    @@\
  86.     $(RM) $@~                            @@\
  87.     (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist)        @@\
  88.     $(RM) $@                             @@\
  89.     $(MV) $@~ $@                            @@\
  90.                                     @@\
  91. clean::                                    @@\
  92.     $(RM) Concat(lib,libname.so.rev)
  93.  
  94. #endif /* SharedLibraryTarget */
  95.  
  96. /*
  97.  * SharedLibraryDataTarget - generate rules to create shlib data file;
  98.  */
  99. #ifndef SharedLibraryDataTarget
  100. #define SharedLibraryDataTarget(libname,rev,salist)            @@\
  101. AllTarget(Concat(lib,libname.sa.rev))                    @@\
  102.                                     @@\
  103. Concat(lib,libname.sa.rev):  salist                    @@\
  104.     $(RM) $@                            @@\
  105.     $(AR) $@ salist                            @@\
  106.     RanLibrary($@)                            @@\
  107.                                     @@\
  108. clean::                                    @@\
  109.     $(RM) Concat(lib,libname.sa.rev)
  110.  
  111. #endif /* SharedLibraryDataTarget */
  112.